// 解题思路：
// 题目要求：给定两个数 a 和 b，如果两个数的乘积是质数，就输出 YES，否则输出 NO
// 因为题目给的数字范围特别大，即使使用 long 类型也存不下，因此这道题不能直接求乘积
// 第二点，因为两个数的乘积很大，如果用试除法，时间消耗很长，会超时，因此也不能直接求乘积，然后试除
// 质数的定义：一个数只能被 1 和 它本身整除的数字
// 因此 a 和 b 相乘，本身得到的数字至少就能被 a 和 b 整除
// 如果 a > 1，b > 1，本身这个数就是合数，根本没有必要计算
// 如果 a == 1，b == 1，得到的乘积还是 1，但是 1 既不是质数，也不是合数
// 因此，只有 a == 1 且 b 是质数，或者 b == 1，a 是质数的情况下，相乘才能得到一个质数
// 其余情况都是合数

import java.util.Scanner;

public class IsPrime {
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);

        int t = in.nextInt();
        while(t-- > 0){
            long a = in.nextLong();
            long b = in.nextLong();

            if((a == 1 && isPrime(b)) || (b == 1 && isPrime(a))){
                System.out.println("YES");
            }else{
                System.out.println("NO");
            }
        }
    }

    public static boolean isPrime(long num){
        if(num == 1) return false;
        for(long i = 2; i <= Math.sqrt(num); i++){
            if(num % i == 0) return false;
        }
        return true;
    }
}
